﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using DTO;

namespace DAO
{
    public class PhieuXuatHangDAO
    {
        #region 1.Retrieving
        public static bool CheckMaPhieuXuatHangExits(string maPhieuXuatHang)
        {
            List<PhieuXuatHangDTO> listPhieuXuatHang = new List<PhieuXuatHangDTO>();

            List<SqlParameter> listSqlParam = new List<SqlParameter>();
            listSqlParam.Add(new SqlParameter("@MaPhieuXuat", maPhieuXuatHang));
            DataTable dt = SqlDataConnectHelper.ExecuteQuery("usp_SelectPhieuXuatHangsByAndMaPhieuXuat", listSqlParam);
            if (dt.Rows.Count == 1)
            {
                return true;
            }
            else
                return false;

        }
        public static List<PhieuXuatHangDTO> SelectAllPhieuXuatHang()
        {
            List<PhieuXuatHangDTO> listPhieuXuatHang = new List<PhieuXuatHangDTO>();

            DataTable dt = SqlDataConnectHelper.ExecuteQuery("usp_SelectPhieuXuatHangsAll");
            foreach (DataRow dr in dt.Rows)
            {
                PhieuXuatHangDTO phieu = new PhieuXuatHangDTO();
                phieu.ThanhTien = float.Parse(dr["ThanhTien"].ToString());
                phieu.NgayLapPhieu = DateTime.Parse(dr["NgayLapPhieu"].ToString());
                phieu.MaPhieuXuat = dr["MaPhieuXuat"].ToString();
                phieu.MaHoSoDaiLy = dr["MaHoSoDaiLy"].ToString();

                listPhieuXuatHang.Add(phieu);
            }

            return listPhieuXuatHang;
        }
        #endregion
        #region 2.Inserting
        public static bool InsertPhieuXuatHang(PhieuXuatHangDTO phieuXuatHang)
        {

            List<SqlParameter> listSqlParam = new List<SqlParameter>();
            listSqlParam.Add(new SqlParameter("@MaPhieuXuat", phieuXuatHang.MaPhieuXuat));
            listSqlParam.Add(new SqlParameter("@MaHoSoDaiLy", phieuXuatHang.MaHoSoDaiLy));
            listSqlParam.Add(new SqlParameter("@NgayLapPhieu", phieuXuatHang.NgayLapPhieu));
            listSqlParam.Add(new SqlParameter("@ThanhTien", phieuXuatHang.ThanhTien));

            int n = SqlDataConnectHelper.ExecuteNoneQuery("usp_InsertPhieuXuatHang", listSqlParam);
            if (n == -1)
            {
                return true;
            }
            else
                return false;

        }
        #endregion
    }
}
